package com.glela.goods.service;

import java.util.List;
import java.util.Map;

import com.glela.goods.model.ShoppingCart;
import com.glela.goods.model.request.ShoppingCartRequest;
import com.glela.goods.model.vo.ShoppingCartVo;
import com.glela.platform.model.request.RequestPageBaseModel;
import com.glela.platform.model.response.ResponseUser;


/**
 *@author liujie
 *@2016年10月20日
 */
public interface ShoppingCartService{
	public int insert(ShoppingCart record);
	
	public int insertSelective(ShoppingCart record);
	
	public int deleteByPrimaryKey(Integer id);
	
	public int updateByPrimaryKeySelective(ShoppingCart record);
	
	public List<ShoppingCartVo> selectMoreInfoByUserIdPage(RequestPageBaseModel requestPageBaseModel);
	
	public ShoppingCart selectByUserInventoryId(Long userId, Long inventoryId);



	
	/***
	 * 
	 * @param userId
	 * @param id
	 * @return
	 */
	public int deleteShopppingCart(Long userId,Integer id);
	
	public String selectImgPathByProductID(long proID);
	
	/***
	 * 
	 * @param user : 当前下单用户
	 * @param orderoObjectId ： 订单 orderObjectId
	 */
	public void updateRemoveShoppingCart(ResponseUser user , Long orderoObjectId) ;

	/***
	 * 查询购物车（新）
	 * @param gouCart
	 * @author zhangrenjie
	 * @date 2017年10月22日 13:44:05
	 */
	public Map<String,Object> getShoppingCart(ShoppingCartRequest gouCart);
	
	
	/***
	 * 购物车产品选中事件
	 * @param gouCart
	 * @return
	 */
	public Map<String,Object> updateSelected(ShoppingCartRequest gouCart);


	/***
	 * 查询购物车商品（供redis缓存使用）
	 * @param gouCart
	 * @author zhangrenjie
	 * @date 2017年10月25日 13:44:05
	 */
	public List<ShoppingCart> getShoppingCartProducts(ShoppingCartRequest gouCart);

	/***
	 * 查询购物车（性能优化版（不显示活动信息））
	 * @param gouCart
	 * @author zhangrenjie
	 * @date 2017年10月22日 13:44:05
	 */
	public Map<String,Object> getShoppingCartSimplify(ShoppingCartRequest gouCart);

}
